System Structure & Program Execution


4fc5dcf03f815174ba518cf8c6422690_MD5.jpeg|700

전체적인 흐름

CPU가 controller한테 input 요청함 → 기다리는동안 다른 프로그램에게 CPU제어권 넘겨서 다른거 실행중 → I/O controller가 CPU한테 intrrupt를 걸음 → CPU 제어권이 다시 운영체제한테 넘어감→ 입력받은 값을 아까 입력 요청한 프로그램 메모리 공간에 copy함 → 실행하던 프로그램 마저 실행하게 cpu제어권 줌

CPU

memeory

mode bit

: CPU의 제어권이 운영체제 에 있는지 사용자 프로그램에 있는지 알려줌
사용자 프로그램의 나쁜짓으로 다른 프로그램 및 운영체제에 피해가지 않게 하기 위해서

타이머

device controller

DMA(direct memory access)

  1. I/O 발생하면 DMA가 memory에 기록함
  2. I/O 가 어느정도 쌓여서 일정 크기(block)을 넘어가면 dma가 cpu한테 이런 일 있었다고 일러바침(interrupt)

입출력의 수행

interrupt

CPU가 프로그램을 실행하고 있을 때, 입출력이나 예외상황 등의 처리가 필요한 경우 CPU에게 알리는 이벤트


pc register

76965cbc0a8244ee3f7f88f7aa059ee8_MD5.jpeg


동기식 입출력과 비동기식 입출력

5865e5e11c85cd14ddf024a7c55a1f95_MD5.jpeg

서로 다른 입출력 명령어

985cba350e05d5b9443b73e7b4efd51c_MD5.jpeg
일반 적인 I/O 방식과, memory mapped I/O 방식이 있음

저장장치 계층 구조

6536c06f68f21aff77293c0a8b63c8e3_MD5.jpeg

프로그램의 실행

44bb76bffe8b0dfcc08050a7580a38a0_MD5.jpeg|600

커널 주소 공간의 내용

60bfc70e3eb643bf756d3343560c3877_MD5.jpeg|600

사용자 프로그램이 사용하는 함수

프로그램 실행

520a0290721e53b40e6fe3a39a896ba8_MD5.jpeg


퀴즈


reference